import MetaTrader5 as mt5
import time
# 显示有关MetaTrader 5程序包的数据
print("MetaTrader5 package author: ",mt5.__author__)
print("MetaTrader5 package version: ",mt5.__version__)
print("")
 
# 建立与MetaTrader 5程序端的连接
if not mt5.initialize(login=277203715,password="WANGhou@1234",server="Exness-MT5Trial5"):
    print("initialize() failed, error code =",mt5.last_error())
   # 断开与MetaTrader 5程序端的连接
    mt5.shutdown()
    quit()
 
# 订阅BTCUSDm（市场深度）的市场深度更新
if mt5.market_book_add('BTCUSD'):
  # 循环获取10次市场深度数据
   for i in range(10):
        # 获取市场深度内容（市场深度）
        items = mt5.market_book_get('BTCUSDm')
        # 以单个字符串'as is'（保持原来状态）显示整个市场深度
        print(items)
        # 现在为了更加清晰而分别显示每个订单
        if items:
            for it in items:
                # order content
                print(it._asdict())
        # 暂停5秒后再请求下一个市场深度数据
        time.sleep(5)
  # 取消订阅市场深度更新（市场深度）
   mt5.market_book_release('BTCUSDm')
else:
    print("mt5.market_book_add('BTCUSD') failed, error code =",mt5.last_error())
 
# 断开与MetaTrader 5程序端的连接
mt5.shutdown()